package com.info.zhiduoduo.core.service;

import com.info.zhiduoduo.repository.entity.company.LongTermProject;

import java.math.BigDecimal;

public interface CoreLongTermProjectService {

	/**
	 * 每天定时任务刷新任务是否有效
	 */
	void checkLongTermProjectValid();

	/**
	 * 检查长期项目,是否已经过期. 如果过期, 更新状态
	 *
	 * @param projectid
	 * @return true:有效的,未取消/未过期 flase:无效的,已取消/已过期; 未发布的项目也返回false
	 */
	boolean checkValid(int projectid);

	/**
	 * 检查长期项目,是否已经过期. 如果过期, 更新状态
	 *
	 * @param project
	 * @return true:有效的,已发布且未取消/未过期 flase:无效的,已取消/已过期; 未发布的项目也返回false
	 */
	boolean checkValid(LongTermProject project);

	/**
	 * 判断加上当前的金额后, 所有已经提交的子项目总金额是否超过了长期项目的总金额
	 *
	 * @param project
	 * @param amount 当前新的子项目金额
	 */
	void checkTotalAmount(LongTermProject project, BigDecimal amount);
}
